package fileSplit;

import java.io.File;
import java.io.FilenameFilter;
import java.lang.reflect.Array;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * @Author lxy
 * @Date 2021/12/27 22:29
 * @Description
 */
public class FileUtil {
    /*
    * 当前目录路径
    * */
    public static String currentWorkDir = System.getProperty("user.dir") + "\\";

    /*
    * 左填充，在str前面填充len个ch
    * */
    public static String leftPad(String str, int len, char target){
        if(str.length() >= len){
            return str;
        }
        len -= str.length();
        char[] tc = new char[len];
        Arrays.fill(tc,target);
        return new String(tc)+str;
    }

    /**
     * @author lxy
     * @date 2021-12-28 16:55
     * @param dirPath 分割后文件所在路径
     * @return java.util.List<java.io.File>
     * @throws
     * @since
     */
    public static List<File> getDirFiles(String dirPath) {
        File path = new File(dirPath);
        File[] files = path.listFiles();
        List<File> arr = new ArrayList<>();
        for(File file : files){
            if (file.isFile()){
                arr.add(file);
            }
        }
        return arr;
    }

    /**
     * @author lxy
     * @date 2021-12-28 16:59
     * @param dirPath 碎片文件所在路径
     * @param suffix 文件后缀
     * @return java.util.List<java.io.File>
     * @throws
     * @since
     */
    public static List<File> getDirFiles(String dirPath,String suffix){

        File path = new File(dirPath);
        File[] files = path.listFiles(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
                String lowerName = name.toLowerCase();
                String lowerSuffix = suffix.toLowerCase();
                if (lowerName.endsWith(lowerSuffix)) {
                    return true;
                }
                return false;
            }
        });
        List<File> arr = new ArrayList<File>();
        for(File file : files){
            if (file.isFile()){
                arr.add(file);
            }
        }
        return arr;
    }
}
